import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const Home = () => import('views/Home.vue');
const Welcome = () => import('views/home/Welcome.vue');

const Users = () => import('components/user/Users.vue');

const Rights = () => import('components/power/Rights.vue');
const Roles = () => import('components/power/Roles.vue');

const Cate = () => import('components/goods/Cate.vue');
const Params = () => import('components/goods/Params.vue');
const List = () => import('components/goods/List.vue');
const Add = () => import('components/goods/Add.vue');

const Order = () => import('components/order/Order.vue');

const Report = () => import('components/report/Report.vue');

const Login = () => import('views/login/Login.vue');

  const routes = [
    {
      path: '/',
      redirect: '/login'
    },
    {
      path: '/login',
      component: Login
    },
    {
      path: '/home',
      component: Home,
      children: [
        {
          path: '/',
          redirect: "/users"
        },
        {
          path: "welcome",
          component: Welcome
        },
        {
          path: '/users',
          component: Users
        },
        {
          path: '/rights',
          component: Rights
        },
        {
          path: '/roles',
          component: Roles
        },
        {
          path: '/categories',
          component: Cate
        },
        {
          path: '/params',
          component: Params
        },
        {
          path: '/goods',
          component: List,
        },
        {
          path: '/goods/add',
          component: Add,
        },
        {
          path: '/orders',
          component: Order,
        },
        {
          path: '/reports',
          component: Report,
        }
      ]
    }
  ]

const router = new VueRouter({
  // mode: 'history',
  base: process.env.BASE_URL,
  routes
})

router.beforeEach((to, from, next) => {
  // to: 将要跳转的路径
  // from：代表从哪个路径跳转过来
  // next：是否放行/强制跳转

  if(to.path === '/login') return next();
  const tokenStr = window.sessionStorage.getItem('token');
  if(!tokenStr) return next('/login');
  next()
})

export default router
